import axios from 'axios'

import { ElMessage } from 'element-plus'
import useUserStore from '@/store/modules/user';

let request = axios.create({
    baseURL: import.meta.env.VITE_APP_BASE_API,
    timeout: 5000
});

request.interceptors.request.use(config=>{
    let userStore = useUserStore()
    if(userStore.token){
        config.headers.token = userStore.token
    }
    return config
});

request.interceptors.response.use((response)=>{
    return response.data
},(error)=>{
    let message = ''
    let status = error.response.status
    switch (status) {
        case 401:
            message = '未登录'
            break
        case 403:
            message = '登录过期，请重新登录'
            break
        case 404:
            message = '网络请求不存在'
            break
        case 500:
            message = '服务器出现问题'
            break
        default:
            message = '网络出现问题'
            break
    }
    //提示错误信息
    ElMessage({
      type: 'error',
      message,
    })
    return Promise.reject(error)
});

export default request